iT邦幫忙

2022 iThome 鐵人賽

DAY 23
0
自我挑戰組

簡介密碼學系列 第 23

Day23- 橢圓曲線在密碼學上的應用

  • 分享至 

  • xImage
  •  

橢圓曲線迪菲-赫爾曼密鑰交換

橢圓曲線迪菲-赫爾曼密鑰交換(英語:Elliptic Curve Diffie–Hellman key exchange,縮寫為ECDH)
是基於迪菲-赫爾曼密鑰交換(英語:Diffie–Hellman key exchange)加上橢圓曲線的一種變體
大概流程和迪菲-赫爾曼密鑰交換類似,如下:
1.選擇有限體Fp和曲線EC
2.Alice選擇曲線上的一點G,和在有限體Fp中選擇一個數a
3.計算A=a⋅G mod p ,此為一橢圓曲線離散對數,A為曲線上的一點
4.保留a作為私鑰,A、G、EC寄給Bob
5.Bob也在有限體Fp中選擇一個數b
6.計算B=b⋅G mod p ,B為曲線上的一點
7.Bob將B寄給Alice
8.分別計算共享金鑰key=a⋅B=b⋅A=a⋅b⋅G
9.完成金鑰交換

和迪菲-赫爾曼密鑰交換的差別

由於橢圓曲線離散對數和一般的離散對數在同樣的位元等級下(p的位元數),
更為安全的多,所以在實作中能選用較小的質數,卻有相同的安全等級
較小的質數在運算上會快很多

ECElGamal

運用橢圓曲線的ElGamal算法,大概如下:
1.選擇曲線EC和質數p(有線體Fp)
2.Alice有限體Fp中選擇一個a和曲線上一點G
3.計算公鑰A=a⋅G mod p,並公開A,EC,G
4.Bob在有限體Fp中隨機選擇一個數k
5.Bob將訊息pt投射到曲線上成C(常把訊息當x座標來算在曲線上的y座標)
6.計算C1=k⋅G mod p,C2=k⋅A mod p
7.將C+C2和C1一起寄給Alice
8.Alice收到C1後計算C2=a⋅C1 mod p = a⋅k⋅G mod p = k⋅A mod p
9.將C+C2-C2=C
10.透過C回推成pt

好處

和上面一樣,更快


上一篇
Day22- 橢圓曲線(2)
下一篇
Day24- 雜湊函式
系列文
簡介密碼學30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言